# -*- coding: utf-8 -*-
"""
Tencent is pleased to support the open source community by making BK-ITSM 蓝鲸流程服务 available.

Copyright (C) 2021 THL A29 Limited, a Tencent company.  All rights reserved.

BK-ITSM 蓝鲸流程服务 is licensed under the MIT License.

License for BK-ITSM 蓝鲸流程服务:
--------------------------------------------------------------------
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial
portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
"""

# Generated by Django 1.11.24 on 2019-09-19 20:00


import django.db.models.deletion
import django.db.models.manager
import jsonfield.fields
from django.db import migrations, models


class Migration(migrations.Migration):

    dependencies = [
        ('workflow', '0013_auto_20190429_1618'),
    ]

    operations = [
        migrations.CreateModel(
            name='Condition',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('creator', models.CharField(blank=True, max_length=64, null=True, verbose_name='\u521b\u5efa\u4eba')),
                ('create_at', models.DateTimeField(auto_now_add=True, verbose_name='\u521b\u5efa\u65f6\u95f4')),
                ('update_at', models.DateTimeField(auto_now=True, verbose_name='\u66f4\u65b0\u65f6\u95f4')),
                (
                    'updated_by',
                    models.CharField(blank=True, max_length=64, null=True, verbose_name='\u4fee\u6539\u4eba'),
                ),
                ('end_at', models.DateTimeField(blank=True, null=True, verbose_name='\u7ed3\u675f\u65f6\u95f4')),
                (
                    'is_deleted',
                    models.BooleanField(db_index=True, default=False, verbose_name='\u662f\u5426\u8f6f\u5220\u9664'),
                ),
                ('name', models.CharField(max_length=64, verbose_name='\u6d41\u8f6c\u64cd\u4f5c')),
                (
                    'data',
                    jsonfield.fields.JSONField(
                        default={
                            'expressions': [
                                {'expressions': [{'condition': '==', 'key': 'G_INT_1', 'value': 1}], 'type': 'and'}
                            ],
                            'type': 'and',
                        },
                        verbose_name='\u6d41\u8f6c\u6761\u4ef6\u8868\u8fbe\u5f0f',
                    ),
                ),
            ],
            options={'verbose_name': '\u6d41\u8f6c\u6761\u4ef6', 'verbose_name_plural': '\u6d41\u8f6c\u6761\u4ef6',},
        ),
        migrations.CreateModel(
            name='GlobalVariable',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('creator', models.CharField(blank=True, max_length=64, null=True, verbose_name='\u521b\u5efa\u4eba')),
                ('create_at', models.DateTimeField(auto_now_add=True, verbose_name='\u521b\u5efa\u65f6\u95f4')),
                ('update_at', models.DateTimeField(auto_now=True, verbose_name='\u66f4\u65b0\u65f6\u95f4')),
                (
                    'updated_by',
                    models.CharField(blank=True, max_length=64, null=True, verbose_name='\u4fee\u6539\u4eba'),
                ),
                ('end_at', models.DateTimeField(blank=True, null=True, verbose_name='\u7ed3\u675f\u65f6\u95f4')),
                ('key', models.CharField(max_length=255, verbose_name='\u53d8\u91cf\u5173\u952e\u5b57')),
                ('name', models.CharField(default='', max_length=64, verbose_name='\u53d8\u91cf\u540d')),
                (
                    'type',
                    models.CharField(
                        choices=[
                            ('STRING', '\u5355\u884c\u6587\u672c'),
                            ('INT', '\u6570\u5b57'),
                            ('BOOLEAN', '\u5e03\u5c14\u7c7b\u578b'),
                        ],
                        default='STRING',
                        max_length=32,
                        verbose_name='\u53d8\u91cf\u7c7b\u578b',
                    ),
                ),
                ('state_id', models.IntegerField(blank=True, null=True, verbose_name='\u5173\u8054\u8282\u70b9')),
                ('flow_id', models.IntegerField(blank=True, null=True, verbose_name='\u5173\u8054\u6d41\u7a0b')),
                ('is_valid', models.BooleanField(default=True, verbose_name='\u662f\u5426\u6709\u6548')),
                ('is_deleted', models.BooleanField(default=False, verbose_name='\u662f\u5426\u5df2\u5220\u9664')),
                ('meta', jsonfield.fields.JSONField(default={}, verbose_name='\u6269\u5c55\u63cf\u8ff0\u4fe1\u606f')),
            ],
            options={'verbose_name': '\u5168\u5c40\u53d8\u91cf', 'verbose_name_plural': '\u5168\u5c40\u53d8\u91cf',},
        ),
        migrations.CreateModel(
            name='Table',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('creator', models.CharField(blank=True, max_length=64, null=True, verbose_name='\u521b\u5efa\u4eba')),
                ('create_at', models.DateTimeField(auto_now_add=True, verbose_name='\u521b\u5efa\u65f6\u95f4')),
                ('update_at', models.DateTimeField(auto_now=True, verbose_name='\u66f4\u65b0\u65f6\u95f4')),
                (
                    'updated_by',
                    models.CharField(blank=True, max_length=64, null=True, verbose_name='\u4fee\u6539\u4eba'),
                ),
                ('end_at', models.DateTimeField(blank=True, null=True, verbose_name='\u7ed3\u675f\u65f6\u95f4')),
                (
                    'is_deleted',
                    models.BooleanField(db_index=True, default=False, verbose_name='\u662f\u5426\u8f6f\u5220\u9664'),
                ),
                ('name', models.CharField(max_length=255, verbose_name='\u6a21\u578b\u540d\u79f0')),
                ('service_type', models.CharField(max_length=64, verbose_name='\u670d\u52a1\u7c7b\u578b')),
                (
                    'desc',
                    models.CharField(
                        blank=True, max_length=255, null=True, verbose_name='\u57fa\u7840\u6a21\u578b\u63cf\u8ff0'
                    ),
                ),
            ],
            options={'verbose_name': '\u57fa\u7840\u6a21\u578b', 'verbose_name_plural': '\u57fa\u7840\u6a21\u578b',},
            managers=[('_objects', django.db.models.manager.Manager()),],
        ),
        migrations.CreateModel(
            name='TemplateField',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('creator', models.CharField(blank=True, max_length=64, null=True, verbose_name='\u521b\u5efa\u4eba')),
                ('create_at', models.DateTimeField(auto_now_add=True, verbose_name='\u521b\u5efa\u65f6\u95f4')),
                ('update_at', models.DateTimeField(auto_now=True, verbose_name='\u66f4\u65b0\u65f6\u95f4')),
                (
                    'updated_by',
                    models.CharField(blank=True, max_length=64, null=True, verbose_name='\u4fee\u6539\u4eba'),
                ),
                ('end_at', models.DateTimeField(blank=True, null=True, verbose_name='\u7ed3\u675f\u65f6\u95f4')),
                (
                    'is_deleted',
                    models.BooleanField(db_index=True, default=False, verbose_name='\u662f\u5426\u8f6f\u5220\u9664'),
                ),
                (
                    'is_builtin',
                    models.BooleanField(default=False, verbose_name='\u662f\u5426\u662f\u5185\u7f6e\u5b57\u6bb5'),
                ),
                ('is_readonly', models.BooleanField(default=False, verbose_name='\u662f\u5426\u53ea\u8bfb')),
                ('is_valid', models.BooleanField(default=True, verbose_name='\u662f\u5426\u751f\u6548')),
                (
                    'display',
                    models.BooleanField(
                        default=False, verbose_name='\u662f\u5426\u663e\u793a\u5728\u5355\u636e\u5217\u8868\u4e2d'
                    ),
                ),
                (
                    'source_type',
                    models.CharField(
                        choices=[
                            ('CUSTOM', '\u81ea\u5b9a\u4e49\u6570\u636e'),
                            ('API', '\u63a5\u53e3\u6570\u636e'),
                            ('DATADICT', '\u6570\u636e\u5b57\u5178'),
                        ],
                        default='CUSTOM',
                        max_length=32,
                        verbose_name='\u6570\u636e\u6765\u6e90\u7c7b\u578b',
                    ),
                ),
                (
                    'source_uri',
                    models.CharField(blank=True, default='', max_length=255, null=True, verbose_name='\u63a5\u53e3uri'),
                ),
                (
                    'api_instance_id',
                    models.IntegerField(blank=True, default=0, null=True, verbose_name='api\u5b9e\u4f8b\u4e3b\u952e'),
                ),
                (
                    'kv_relation',
                    jsonfield.fields.JSONCharField(
                        default={}, max_length=64, verbose_name='\u6e90\u6570\u636e\u7684kv\u5173\u7cfb\u914d\u7f6e'
                    ),
                ),
                (
                    'type',
                    models.CharField(
                        choices=[
                            ('STRING', '\u5355\u884c\u6587\u672c'),
                            ('TEXT', '\u591a\u884c\u6587\u672c'),
                            ('INT', '\u6570\u5b57'),
                            ('DATE', '\u65e5\u671f'),
                            ('DATETIME', '\u65f6\u95f4'),
                            ('DATETIMERANGE', '\u65f6\u95f4\u95f4\u9694'),
                            ('TABLE', '\u8868\u683c'),
                            ('SELECT', '\u5355\u9009\u4e0b\u62c9\u6846'),
                            ('MULTISELECT', '\u591a\u9009\u4e0b\u62c9\u6846'),
                            ('CHECKBOX', '\u590d\u9009\u6846'),
                            ('RADIO', '\u5355\u9009\u6846'),
                            ('MEMBERS', '\u591a\u9009\u4eba\u5458\u9009\u62e9'),
                            ('RICHTEXT', '\u5bcc\u6587\u672c'),
                            ('FILE', '\u9644\u4ef6\u4e0a\u4f20'),
                            ('CUSTOMTABLE', '\u81ea\u5b9a\u4e49\u8868\u683c'),
                            ('TREESELECT', '\u6811\u5f62\u9009\u62e9'),
                            ('CASCADE', '\u7ea7\u8054'),
                        ],
                        default='STRING',
                        max_length=32,
                        verbose_name='\u5b57\u6bb5\u7c7b\u578b',
                    ),
                ),
                ('key', models.CharField(max_length=255, verbose_name='\u5b57\u6bb5\u6807\u8bc6')),
                ('name', models.CharField(max_length=64, verbose_name='\u5b57\u6bb5\u540d')),
                (
                    'layout',
                    models.CharField(
                        choices=[('COL_6', '\u534a\u884c'), ('COL_12', '\u6574\u884c')],
                        default='COL_6',
                        max_length=32,
                        verbose_name='\u5e03\u5c40',
                    ),
                ),
                (
                    'validate_type',
                    models.CharField(
                        choices=[('OPTION', '\u53ef\u9009'), ('REQUIRE', '\u5fc5\u586b')],
                        default='REQUIRE',
                        max_length=32,
                        verbose_name='\u6821\u9a8c\u89c4\u5219',
                    ),
                ),
                (
                    'show_type',
                    models.IntegerField(
                        choices=[(1, '\u76f4\u63a5\u663e\u793a'), (0, '\u6839\u636e\u6761\u4ef6\u5224\u65ad')],
                        default=1,
                        verbose_name='\u663e\u793a\u6761\u4ef6\u7c7b\u578b',
                    ),
                ),
                (
                    'show_conditions',
                    jsonfield.fields.JSONField(default={}, verbose_name='\u5b57\u6bb5\u7684\u663e\u793a\u6761\u4ef6'),
                ),
                (
                    'regex',
                    models.CharField(
                        blank=True,
                        default='',
                        max_length=64,
                        null=True,
                        verbose_name='\u6b63\u5219\u6821\u9a8c\u89c4\u5219',
                    ),
                ),
                (
                    'custom_regex',
                    models.CharField(
                        blank=True,
                        default='',
                        max_length=128,
                        null=True,
                        verbose_name='\u81ea\u5b9a\u4e49\u6b63\u5219\u89c4\u5219',
                    ),
                ),
                (
                    'desc',
                    models.CharField(
                        blank=True,
                        default='',
                        max_length=128,
                        null=True,
                        verbose_name='\u5b57\u6bb5\u586b\u5199\u8bf4\u660e',
                    ),
                ),
                (
                    'tips',
                    models.CharField(
                        blank=True,
                        default='',
                        max_length=128,
                        null=True,
                        verbose_name='\u5b57\u6bb5\u5c55\u793a\u8bf4\u660e',
                    ),
                ),
                ('is_tips', models.BooleanField(default=False, verbose_name='\u989d\u5916\u63d0\u793a')),
                (
                    'default',
                    models.CharField(
                        blank=True, default='', max_length=10000, null=True, verbose_name='\u9ed8\u8ba4\u503c'
                    ),
                ),
                ('choice', jsonfield.fields.JSONField(default=[], verbose_name='\u9009\u9879')),
                (
                    'related_fields',
                    jsonfield.fields.JSONField(
                        blank=True, default={}, null=True, verbose_name='\u7ea7\u8054\u5b57\u6bb5'
                    ),
                ),
                ('meta', jsonfield.fields.JSONField(default={}, verbose_name='\u590d\u6742\u63cf\u8ff0\u4fe1\u606f')),
                (
                    'flow_type',
                    models.CharField(default='DEFAULT', max_length=64, verbose_name='\u6d41\u7a0b\u5206\u7c7b'),
                ),
            ],
            options={'verbose_name': '\u5b57\u6bb5\u5e93', 'verbose_name_plural': '\u5b57\u6bb5\u5e93',},
        ),
        migrations.RemoveField(model_name='state', name='distribute_keys',),
        migrations.RemoveField(model_name='state', name='distribute_rule',),
        migrations.RemoveField(model_name='state', name='order',),
        migrations.RemoveField(model_name='transition', name='type',),
        migrations.AddField(
            model_name='defaultfield',
            name='api_instance_id',
            field=models.IntegerField(blank=True, default=0, null=True, verbose_name='api\u5b9e\u4f8b\u4e3b\u952e'),
        ),
        migrations.AddField(
            model_name='defaultfield',
            name='is_tips',
            field=models.BooleanField(default=False, verbose_name='\u989d\u5916\u63d0\u793a'),
        ),
        migrations.AddField(
            model_name='defaultfield',
            name='kv_relation',
            field=jsonfield.fields.JSONCharField(
                default={}, max_length=64, verbose_name='\u6e90\u6570\u636e\u7684kv\u5173\u7cfb\u914d\u7f6e'
            ),
        ),
        migrations.AddField(
            model_name='defaultfield',
            name='show_conditions',
            field=jsonfield.fields.JSONField(default={}, verbose_name='\u5b57\u6bb5\u7684\u663e\u793a\u6761\u4ef6'),
        ),
        migrations.AddField(
            model_name='defaultfield',
            name='show_type',
            field=models.IntegerField(
                choices=[(1, '\u76f4\u63a5\u663e\u793a'), (0, '\u6839\u636e\u6761\u4ef6\u5224\u65ad')],
                default=1,
                verbose_name='\u663e\u793a\u6761\u4ef6\u7c7b\u578b',
            ),
        ),
        migrations.AddField(
            model_name='defaultfield',
            name='tips',
            field=models.CharField(
                blank=True, default='', max_length=128, null=True, verbose_name='\u5b57\u6bb5\u5c55\u793a\u8bf4\u660e'
            ),
        ),
        migrations.AddField(
            model_name='field',
            name='api_instance_id',
            field=models.IntegerField(blank=True, default=0, null=True, verbose_name='api\u5b9e\u4f8b\u4e3b\u952e'),
        ),
        migrations.AddField(
            model_name='field',
            name='is_tips',
            field=models.BooleanField(default=False, verbose_name='\u989d\u5916\u63d0\u793a'),
        ),
        migrations.AddField(
            model_name='field',
            name='kv_relation',
            field=jsonfield.fields.JSONCharField(
                default={}, max_length=64, verbose_name='\u6e90\u6570\u636e\u7684kv\u5173\u7cfb\u914d\u7f6e'
            ),
        ),
        migrations.AddField(
            model_name='field',
            name='show_conditions',
            field=jsonfield.fields.JSONField(default={}, verbose_name='\u5b57\u6bb5\u7684\u663e\u793a\u6761\u4ef6'),
        ),
        migrations.AddField(
            model_name='field',
            name='show_type',
            field=models.IntegerField(
                choices=[(1, '\u76f4\u63a5\u663e\u793a'), (0, '\u6839\u636e\u6761\u4ef6\u5224\u65ad')],
                default=1,
                verbose_name='\u663e\u793a\u6761\u4ef6\u7c7b\u578b',
            ),
        ),
        migrations.AddField(
            model_name='field',
            name='tips',
            field=models.CharField(
                blank=True, default='', max_length=128, null=True, verbose_name='\u5b57\u6bb5\u5c55\u793a\u8bf4\u660e'
            ),
        ),
        migrations.AddField(
            model_name='state',
            name='api_instance_id',
            field=models.IntegerField(blank=True, default=0, null=True, verbose_name='api\u5b9e\u4f8b\u4e3b\u952e'),
        ),
        migrations.AddField(
            model_name='state',
            name='assignors',
            field=models.TextField(blank=True, default='', null=True, verbose_name='\u6d3e\u5355\u4eba\u5217\u8868'),
        ),
        migrations.AddField(
            model_name='state',
            name='assignors_type',
            field=models.CharField(
                choices=[
                    ('CMDB', 'CMDB\u4e1a\u52a1\u516c\u7528\u89d2\u8272'),
                    ('GENERAL', '\u901a\u7528\u89d2\u8272\u8868'),
                    ('OPEN', '\u4e0d\u9650'),
                    ('PERSON', '\u4e2a\u4eba'),
                    ('STARTER', '\u63d0\u5355\u4eba'),
                    ('BY_ASSIGNOR', '\u6d3e\u5355\u4eba\u6307\u5b9a'),
                    ('EMPTY', '\u65e0'),
                    ('ORGANIZATION', '\u7ec4\u7ec7\u67b6\u6784'),
                ],
                default='EMPTY',
                max_length=32,
                verbose_name='\u6d3e\u5355\u4eba\u7c7b\u578b',
            ),
        ),
        migrations.AddField(
            model_name='state',
            name='axis',
            field=jsonfield.fields.JSONCharField(
                default={}, max_length=128, verbose_name='\u8282\u70b9\u7684\u5750\u6807\u8f74'
            ),
        ),
        migrations.AddField(
            model_name='state',
            name='can_deliver',
            field=models.BooleanField(default=False, verbose_name='\u80fd\u5426\u8f6c\u5355'),
        ),
        migrations.AddField(
            model_name='state',
            name='delivers',
            field=models.TextField(blank=True, default='', null=True, verbose_name='\u8f6c\u5355\u4eba\u5217\u8868'),
        ),
        migrations.AddField(
            model_name='state',
            name='delivers_type',
            field=models.CharField(
                choices=[
                    ('CMDB', 'CMDB\u4e1a\u52a1\u516c\u7528\u89d2\u8272'),
                    ('GENERAL', '\u901a\u7528\u89d2\u8272\u8868'),
                    ('OPEN', '\u4e0d\u9650'),
                    ('PERSON', '\u4e2a\u4eba'),
                    ('STARTER', '\u63d0\u5355\u4eba'),
                    ('BY_ASSIGNOR', '\u6d3e\u5355\u4eba\u6307\u5b9a'),
                    ('EMPTY', '\u65e0'),
                    ('ORGANIZATION', '\u7ec4\u7ec7\u67b6\u6784'),
                ],
                default='EMPTY',
                max_length=32,
                verbose_name='\u8f6c\u5355\u4eba\u7c7b\u578b',
            ),
        ),
        migrations.AddField(
            model_name='state',
            name='label',
            field=models.CharField(default='EMPTY', max_length=255, verbose_name='\u6807\u7b7e\u8bb0\u5f55'),
        ),
        migrations.AddField(
            model_name='state',
            name='variables',
            field=jsonfield.fields.JSONField(
                default={'inputs': [], 'outputs': []}, null=True, verbose_name='\u53d8\u91cf'
            ),
        ),
        migrations.AddField(
            model_name='transition',
            name='axis',
            field=jsonfield.fields.JSONCharField(
                default={},
                max_length=64,
                verbose_name='\u7ebf\u6761\u7684\u5750\u6807\u4f4d\u7f6e\u7684\u5750\u6807\u8f74',
            ),
        ),
        migrations.AddField(
            model_name='transition',
            name='condition',
            field=jsonfield.fields.JSONField(
                default={
                    'expressions': [
                        {'expressions': [{'condition': '==', 'key': 'G_INT_1', 'value': 1}], 'type': 'and'}
                    ],
                    'type': 'and',
                },
                verbose_name='\u6d41\u8f6c\u6761\u4ef6\u8868\u8fbe\u5f0f',
            ),
        ),
        migrations.AddField(
            model_name='transition',
            name='condition_type',
            field=models.CharField(
                choices=[('default', '\u9ed8\u8ba4'), ('by_field', '\u5b57\u6bb5\u5224\u65ad')],
                default='default',
                max_length=32,
                verbose_name='\u6d41\u8f6c\u7c7b\u578b',
            ),
        ),
        migrations.AddField(
            model_name='workflow',
            name='engine_version',
            field=models.CharField(
                blank=True, max_length=64, null=True, verbose_name='\u5f15\u64ce\u7248\u672c\uff1a\u7a7a/PIPELINE_VX'
            ),
        ),
        migrations.AddField(
            model_name='workflowversion',
            name='engine_version',
            field=models.CharField(
                blank=True, max_length=64, null=True, verbose_name='\u5f15\u64ce\u7248\u672c\uff1a\u7a7a/PIPELINE_VX'
            ),
        ),
        migrations.AddField(
            model_name='workflowversion',
            name='is_biz_needed',
            field=models.BooleanField(default=False, verbose_name='\u662f\u5426\u7ed1\u5b9a\u4e1a\u52a1'),
        ),
        migrations.AddField(
            model_name='workflowversion',
            name='is_supervise_needed',
            field=models.BooleanField(default=False, verbose_name='\u662f\u5426\u9700\u8981\u7763\u529e'),
        ),
        migrations.AddField(
            model_name='workflowversion',
            name='pipeline_data',
            field=jsonfield.fields.JSONField(
                blank=True, default={}, null=True, verbose_name='pipeline\u63cf\u8ff0\u6570\u636e'
            ),
        ),
        migrations.AddField(
            model_name='workflowversion',
            name='supervise_type',
            field=models.CharField(
                choices=[
                    ('CMDB', 'CMDB\u4e1a\u52a1\u516c\u7528\u89d2\u8272'),
                    ('GENERAL', '\u901a\u7528\u89d2\u8272\u8868'),
                    ('OPEN', '\u4e0d\u9650'),
                    ('PERSON', '\u4e2a\u4eba'),
                    ('STARTER', '\u63d0\u5355\u4eba'),
                    ('BY_ASSIGNOR', '\u6d3e\u5355\u4eba\u6307\u5b9a'),
                    ('EMPTY', '\u65e0'),
                    ('ORGANIZATION', '\u7ec4\u7ec7\u67b6\u6784'),
                ],
                default='EMPTY',
                max_length=32,
                verbose_name='\u7763\u529e\u4eba\u7c7b\u578b',
            ),
        ),
        migrations.AddField(
            model_name='workflowversion',
            name='supervisor',
            field=models.CharField(
                blank=True, default='', max_length=255, null=True, verbose_name='\u7763\u529e\u5217\u8868'
            ),
        ),
        migrations.AlterField(
            model_name='defaultfield',
            name='desc',
            field=models.CharField(
                blank=True, default='', max_length=128, null=True, verbose_name='\u5b57\u6bb5\u586b\u5199\u8bf4\u660e'
            ),
        ),
        migrations.AlterField(
            model_name='defaultfield',
            name='related_fields',
            field=jsonfield.fields.JSONField(
                blank=True, default={}, null=True, verbose_name='\u7ea7\u8054\u5b57\u6bb5'
            ),
        ),
        migrations.AlterField(
            model_name='field',
            name='desc',
            field=models.CharField(
                blank=True, default='', max_length=128, null=True, verbose_name='\u5b57\u6bb5\u586b\u5199\u8bf4\u660e'
            ),
        ),
        migrations.AlterField(
            model_name='field',
            name='related_fields',
            field=jsonfield.fields.JSONField(
                blank=True, default={}, null=True, verbose_name='\u7ea7\u8054\u5b57\u6bb5'
            ),
        ),
        migrations.AlterField(
            model_name='state',
            name='distribute_type',
            field=models.CharField(
                choices=[
                    ('DISTRIBUTE_THEN_PROCESS', '\u5148\u6d3e\u5355\uff0c\u540e\u5904\u7406'),
                    ('PROCESS', '\u76f4\u63a5\u5904\u7406'),
                    ('CLAIM_THEN_PROCESS', '\u5148\u8ba4\u9886\uff0c\u540e\u5904\u7406'),
                    ('DISTRIBUTE_THEN_CLAIM', '\u5148\u6d3e\u5355\uff0c\u540e\u8ba4\u9886'),
                ],
                default='PROCESS',
                max_length=32,
                verbose_name='\u5206\u914d\u65b9\u5f0f',
            ),
        ),
        migrations.AlterField(
            model_name='state',
            name='followers',
            field=models.CharField(
                blank=True, default='', max_length=255, null=True, verbose_name='\u5173\u6ce8\u4eba\u5217\u8868'
            ),
        ),
        migrations.AlterField(
            model_name='state',
            name='followers_type',
            field=models.CharField(
                choices=[
                    ('CMDB', 'CMDB\u4e1a\u52a1\u516c\u7528\u89d2\u8272'),
                    ('GENERAL', '\u901a\u7528\u89d2\u8272\u8868'),
                    ('OPEN', '\u4e0d\u9650'),
                    ('PERSON', '\u4e2a\u4eba'),
                    ('STARTER', '\u63d0\u5355\u4eba'),
                    ('BY_ASSIGNOR', '\u6d3e\u5355\u4eba\u6307\u5b9a'),
                    ('EMPTY', '\u65e0'),
                    ('ORGANIZATION', '\u7ec4\u7ec7\u67b6\u6784'),
                ],
                default='EMPTY',
                max_length=32,
                verbose_name='\u5173\u6ce8\u4eba\u7c7b\u578b',
            ),
        ),
        migrations.AlterField(
            model_name='state',
            name='processors',
            field=models.TextField(blank=True, default='', null=True, verbose_name='\u5904\u7406\u4eba\u5217\u8868'),
        ),
        migrations.AlterField(
            model_name='state',
            name='processors_type',
            field=models.CharField(
                choices=[
                    ('CMDB', 'CMDB\u4e1a\u52a1\u516c\u7528\u89d2\u8272'),
                    ('GENERAL', '\u901a\u7528\u89d2\u8272\u8868'),
                    ('OPEN', '\u4e0d\u9650'),
                    ('PERSON', '\u4e2a\u4eba'),
                    ('STARTER', '\u63d0\u5355\u4eba'),
                    ('BY_ASSIGNOR', '\u6d3e\u5355\u4eba\u6307\u5b9a'),
                    ('EMPTY', '\u65e0'),
                    ('ORGANIZATION', '\u7ec4\u7ec7\u67b6\u6784'),
                ],
                default='OPEN',
                max_length=32,
                verbose_name='\u5904\u7406\u4eba\u7c7b\u578b',
            ),
        ),
        migrations.AlterField(
            model_name='state',
            name='type',
            field=models.CharField(
                choices=[
                    ('START', '\u5f00\u59cb\u8282\u70b9(\u5706\u5f62)'),
                    ('NORMAL', '\u666e\u901a\u8282\u70b9'),
                    ('TASK', '\u81ea\u52a8\u8282\u70b9'),
                    ('TASK-SOPS', '\u6807\u51c6\u8fd0\u7ef4\u8282\u70b9'),
                    ('ROUTER', '\u5206\u652f\u7f51\u5173\u8282\u70b9(\u83f1\u5f62)'),
                    ('ROUTER-P', '\u5e76\u884c\u7f51\u5173\u8282\u70b9'),
                    ('COVERAGE', '\u6c47\u805a\u7f51\u5173\u8282\u70b9'),
                    ('END', '\u7ed3\u675f\u8282\u70b9(\u5706\u5f62)'),
                ],
                default='NORMAL',
                max_length=32,
                verbose_name='\u72b6\u6001\u7c7b\u578b',
            ),
        ),
        migrations.AlterField(
            model_name='workflow',
            name='supervise_type',
            field=models.CharField(
                choices=[
                    ('CMDB', 'CMDB\u4e1a\u52a1\u516c\u7528\u89d2\u8272'),
                    ('GENERAL', '\u901a\u7528\u89d2\u8272\u8868'),
                    ('OPEN', '\u4e0d\u9650'),
                    ('PERSON', '\u4e2a\u4eba'),
                    ('STARTER', '\u63d0\u5355\u4eba'),
                    ('BY_ASSIGNOR', '\u6d3e\u5355\u4eba\u6307\u5b9a'),
                    ('EMPTY', '\u65e0'),
                    ('ORGANIZATION', '\u7ec4\u7ec7\u67b6\u6784'),
                ],
                default='EMPTY',
                max_length=32,
                verbose_name='\u7763\u529e\u4eba\u7c7b\u578b',
            ),
        ),
        migrations.AlterField(
            model_name='workflow',
            name='supervisor',
            field=models.CharField(
                blank=True, default='', max_length=255, null=True, verbose_name='\u7763\u529e\u5217\u8868'
            ),
        ),
        migrations.AddField(
            model_name='table',
            name='fields',
            field=models.ManyToManyField(
                help_text='\u5173\u8054\u7684\u516c\u5171\u5b57\u6bb5', to='workflow.TemplateField'
            ),
        ),
        migrations.AddField(
            model_name='condition',
            name='workflow',
            field=models.ForeignKey(
                help_text='\u5173\u8054\u5de5\u4f5c\u6d41',
                on_delete=django.db.models.deletion.CASCADE,
                related_name='flows',
                to='workflow.Workflow',
            ),
        ),
        migrations.AddField(
            model_name='workflow',
            name='table',
            field=models.ForeignKey(
                blank=True,
                help_text='\u5173\u8054\u7684\u57fa\u7840\u6a21\u578b',
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                to='workflow.Table',
            ),
        ),
    ]
